package com.jeesite.modules.dataScreen.entity;

import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeesite.modules.dataScreen.config.JsonTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author machenzhi
 * @date 2024/08/08 09:50
 */
@Data
@TableName(value = "dp_jtdn2.event_order_process")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "事件上报处理记录", description = "事件上报处理记录")
public class EventOrderProcess {

    @ApiModelProperty("自增id")
    private String eventOrderProcessId;

    @ApiModelProperty("处置环节ID")
    private String eventProcessId;

    @ApiModelProperty("应用识别码")
    private String sourceSystemCode;

    @ApiModelProperty("事件单ID")
    private String eventNum;

    @ApiModelProperty("处置人姓名")
    private String executor;

    @ApiModelProperty("处置部门")
    private String executeDept;

    @ApiModelProperty("处置时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private Date executeTime;

    @ApiModelProperty("处置节点类型")
    private String executeNode;

    @ApiModelProperty("处置状态描述")
    private String executeStatusDesc;

    @ApiModelProperty("待办完成状态")
    private String endStatus;

    @ApiModelProperty("处置意见")
    private String executeContent;

    @ApiModelProperty("附件信息")
    @TableField(typeHandler = JsonTypeHandler.class)
    private List<EventOrderProcessAttachment> listFile;

    @ApiModelProperty("处置环节的扩展字段")
    @TableField(value = "process_extended_field", typeHandler = JsonTypeHandler.class)
    private List<EventOrderProcessExtendedField> processExtendedFieldList;


}
